for _ in range(int(input())):
l1, r1, l2, r2 = [int(i) for i in input().split()]
if l1 != l2:
print(l1, l2)
else:
print(r1, l2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define str string
#define sz size()
#define All(s) s.begin(), s.end()
#define super ios::sync_with_stdio(0)
#define superin cin.tie(0)
#define fir(x,n) for(ll i = x; i < n; i++)
#define fir1(x,n) for(ll i = x; i <= n; i++)
const char nl = '\n';
const str ss = " ";
const int MX = 1000001;
void slove(){
int a,b,c,d; cin>>a>>b>>c>>d;
int mn(0), mx(0);
mn = min(a,b); mx = max(c,d);
mn++; mx--;
if(mn == mx)mx++;
cout<<mn<<ss<<mx<<nl;
}
int main(){
super; superin;
int t; cin>>t; while(t--){
slove();
}
}
1618C - Paint the Array | 469A - I Wanna Be the Guy |
1294A - Collecting Coins | 1227A - Math Problem |
349A - Cinema Line | 47A - Triangular numbers |
1516B - AGAGA XOOORRR | 1515A - Phoenix and Gold |
1515B - Phoenix and Puzzle | 155A - I_love_username |
49A - Sleuth | 1541A - Pretty Permutations |
1632C - Strange Test | 673A - Bear and Game |
276A - Lunch Rush | 1205A - Almost Equal |
1020B - Badge | 1353A - Most Unstable Array |
770A - New Password | 1646B - Quality vs Quantity |
80A - Panoramix's Prediction | 1354B - Ternary String |
122B - Lucky Substring | 266B - Queue at the School |
1490A - Dense Array | 1650B - DIV + MOD |
1549B - Gregor and the Pawn Game | 553A - Kyoya and Colored Balls |
1364A - XXXXX | 1499B - Binary Removals |